import axios from 'axios';
import router from '@/router'

const service = axios.create({
    baseURL: process.env.VUE_APP_BASE_API,
    timeout: 10000
  });
  
  // 请求拦截器：自动添加 Token
  service.interceptors.request.use(config => {
    const token = localStorage.getItem('token');
    if (token) {
      config.headers.token = `${token}`; // Bearer 方案
    }else{
      router.push('/login');
    }
    return config;
  });
  
  // 过期自动跳转值login
  service.interceptors.response.use(
    response => response,
    error => {
      if (error.response?.status === 401) {
        // 清理认证信息
        localStorage.removeItem('token');
        
        // 主动中断Promise链，避免向上抛出错误
        return new Promise(() => {
          router.push('/login'); // 执行跳转但不再传递错误
        });
      }
      
      // 其他错误正常传递（如500错误需展示提示）
      return Promise.reject(error);
    }
  );
  
  
  export default service;